Component({
  properties: {
    // 这里定义了 headerText 属性，属性值可以在组件使用时指定
    headerText: {
      type: String,
      value: '默认标题文案',
    }
  },
  data: {
    // 组件内部数据
    countDownData: [],
    actTime: '2019-08-22 12:37:00', //活动时间
  },
  ready () {
    // 执行活动倒计时函数
    this.countDown();
  },
  methods: {
    // 自定义方法
    //小于10的格式化函数
    timeFormat(param) {
      return param < 10 ? '0' + param : param;
    },
    //倒计时函数
    countDown() {
      // 获取当前时间
      let newTime = new Date().getTime();
      //获取活动时间
      let actTime = this.data.actTime;
      let countDownObj = [];
      // 获取活动结束时间的总毫秒数
      let endTime = new Date(actTime).getTime();

      let obj = null;
      // 如果活动未结束，对时间进行处理
      if (endTime - newTime > 0) {
        //获得距离结束时间的总秒数
        let time = (endTime - newTime) / 1000;
        // 获取天、时、分、秒
        let day = parseInt(time / (60 * 60 * 24));
        let hou = parseInt(time % (60 * 60 * 24) / 3600);
        let min = parseInt(time % (60 * 60 * 24) % 3600 / 60);
        let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60);
        obj = {
          day: this.timeFormat(day),
          hou: this.timeFormat(hou),
          min: this.timeFormat(min),
          sec: this.timeFormat(sec)
        }
        var timer = setTimeout(this.countDown, 1000);
      } else { //活动已结束，全部设置为'00'
        obj = {
          day: '00',
          hou: '00',
          min: '00',
          sec: '00'
        }
        clearTimeout(timer)
      }
      countDownObj.push(obj);
      // 渲染，然后每隔一秒执行一次倒计时函数
      this.setData({
        countDownData: countDownObj
      })
    },
  }
})